package cn.wangdian.erp.sdk.api.goods;

import cn.wangdian.erp.sdk.Pager;
import cn.wangdian.erp.sdk.WdtErpException;
import cn.wangdian.erp.sdk.api.goods.dto.ApiGoodsSearchRequest;
import cn.wangdian.erp.sdk.api.goods.dto.ApiGoodsSearchResponse;
import cn.wangdian.erp.sdk.api.goods.dto.ApiGoodsUploadRequest;
import cn.wangdian.erp.sdk.api.goods.dto.ApiGoodsUploadResponse;
import cn.wangdian.erp.sdk.api.goods.dto.GoodsBatchPushRequest;
import cn.wangdian.erp.sdk.api.goods.dto.GoodsBatchPushResponse;
import cn.wangdian.erp.sdk.api.goods.dto.GoodsPushRequest;
import cn.wangdian.erp.sdk.api.goods.dto.GoodsSearchRequest;
import cn.wangdian.erp.sdk.api.goods.dto.GoodsSearchResponse;
import cn.wangdian.erp.sdk.impl.Api;

import java.util.List;

public interface GoodsAPI
{
	@Api(value = "goods.Goods.push")
	int push(GoodsPushRequest.GoodsDto goodsDto, List<GoodsPushRequest.GoodsSpecDto> goodsSpecDtos);

	@Api(value = "goods.Goods.queryWithSpec", paged = true)
    GoodsSearchResponse search(GoodsSearchRequest request, Pager pager);

	@Api(value = "goods.ApiGoods.search", paged = true)
    ApiGoodsSearchResponse searchApiGoods(ApiGoodsSearchRequest request, Pager pager) throws WdtErpException;

	@Api(value = "goods.ApiGoods.upload")
	ApiGoodsUploadResponse uploadApiGoods(ApiGoodsUploadRequest request) throws WdtErpException;

	@Api(value = "goods.Goods.batchPush")
	GoodsBatchPushResponse batchPush(List<GoodsBatchPushRequest.Goods> goodsList) throws WdtErpException;
}
